package com.ruoyi.account.domain;

import com.ruoyi.currency.domain.TbCurrency;
import com.ruoyi.subject.domain.TbSubject;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Currency;

/**
 * 账户对象 tb_account
 * 
 * @author 刘凯豪
 * @date 2025-05-08
 */
public class TbAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 财务账号id */
    private Long accountId;

    /** 账号名称 */
    @Excel(name = "账号名称")
    private String accountName;

    /** 编号
编号 */
    @Excel(name = "编号")
    private String code;

    /** 币别id */
    @Excel(name = "币别id")
    private Long currencyId;

    /** 会计科目id */
    @Excel(name = "会计科目id")
    private Long subjectId;

    /** 0:开启 1：关闭 */
    @Excel(name = "0:开启 1：关闭")
    private Long activationStatus;

    private TbCurrency currency;
    private TbSubject subject;

    public TbCurrency getCurrency() {
        return currency;
    }

    public void setCurrency(TbCurrency currency) {
        this.currency = currency;
    }

    public TbSubject getSubject() {
        return subject;
    }

    public void setSubject(TbSubject subject) {
        this.subject = subject;
    }

    public void setAccountId(Long accountId)
    {
        this.accountId = accountId;
    }

    public Long getAccountId() 
    {
        return accountId;
    }

    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }

    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }

    public void setCurrencyId(Long currencyId) 
    {
        this.currencyId = currencyId;
    }

    public Long getCurrencyId() 
    {
        return currencyId;
    }

    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }

    public void setActivationStatus(Long activationStatus) 
    {
        this.activationStatus = activationStatus;
    }

    public Long getActivationStatus() 
    {
        return activationStatus;
    }

    @Override
    public String toString() {
        return "TbAccount{" +
                "accountId=" + accountId +
                ", accountName='" + accountName + '\'' +
                ", code='" + code + '\'' +
                ", currencyId=" + currencyId +
                ", subjectId=" + subjectId +
                ", activationStatus=" + activationStatus +
                ", currency=" + currency +
                ", subject=" + subject +
                '}';
    }
}
